﻿//using UnityEngine;
//using System.Collections;
//using System.Collections.Generic;
//using UnityEditor;
//using System.IO;

//public class AssetDefaultSetting : AssetPostprocessor
//{
//    //不设ab名的文件夹父路径(该文件夹下的文件不包含在内，只设置子文件夹下的文件ab为空)
//    //    static List<string> subFolderNotToAbList = new List<string>()
//    //        {
//    //            "Assets/GameAssets/UI/font",
//    //        };
//    //    //根据文件夹名设ab路径
//    //    static List<string> packWithFloderAbList = new List<string>()
//    //    {
//    //        "Assets/GameAssets/Atlas",
//    //    };
//    //    //根据文件名设ab路径
//    //    static List<string> packWithFileNameAbList = new List<string>()
//    //    {
//    //        "Assets/GameAssets/UI",
//    //        "Assets/GameAssets/Audio",
//    //        "Assets/GameAssets/Images/common",
//    //    };
//    //    //根据该根目录设ab路径
//    //    static List<string> packWithRootFloderAbList = new List<string>()
//    //    {
//    //    };
//    //
//    /// <summary>
//    /// 图片导入默认值修改
//    /// </summary>
//    void OnPreprocessTexture()
//    {
//        //ui图片导入格式修改
//        List<string> picDirPaths = new List<string>();
//        picDirPaths.Add("Assets/GameResources/atlas");
//        TextureImporter textureImporter = (TextureImporter)assetImporter;

//        string AtlasName = new DirectoryInfo(Path.GetDirectoryName(assetPath)).Name;
//        foreach (var picDirPath in picDirPaths)
//        {
//            if (assetPath.StartsWith(picDirPath))
//            {
//                if (assetPath.IndexOf("atlas/bg/") < 0)
//                {
//                    textureImporter.textureType = TextureImporterType.Sprite;
//                    textureImporter.spriteImportMode = SpriteImportMode.Single;
//                }
//                //textureImporter.spritePackingTag = AtlasName;
//                //textureImporter.wrapMode = TextureWrapMode.Clamp;
//                //textureImporter.filterMode = FilterMode.Bilinear;
//                if (assetPath.IndexOf("/common/") >= 0)
//                {
//                    textureImporter.spritePackingTag = "common";
//                    textureImporter.assetBundleName = "atlas/common";
//                }
//                textureImporter.mipmapEnabled = false;
//                if (assetPath.IndexOf(".jpg") >= 0)
//                    textureImporter.textureFormat = TextureImporterFormat.AutomaticCompressed;
//                else
//                    textureImporter.textureFormat = TextureImporterFormat.AutomaticTruecolor;
//                //textureImporter.SetPlatformTextureSettings("", 2048, TextureImporterFormat.AutomaticTruecolor);
//                break;
//            }
//        }
//    }
//    public void OnPreprocessModel()
//    {
//        Debug.Log("OnPreprocessModel=" + this.assetPath);
//        ModelImporter modelImporter = (ModelImporter)assetImporter;
//        modelImporter.importMaterials = false;
//    }

//    public static void OnPostprocessAllAssets(string[] importedAsset, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
//    {
//        foreach (string str in importedAsset)
//        {
//            modifyAssets(str);
//        }
//        //        foreach (string str in deletedAssets)
//        //        {
//        //            //Debug.Log("deletedAssets = " + str);
//        //        }
//        //        foreach (string str in movedAssets)
//        //        {
//        //            //Debug.Log("movedAssets = " + str);
//        //            modifyAssets(str);
//        //        }
//        //        foreach (string str in movedFromAssetPaths)
//        //        {
//        //            //Debug.Log("movedFromAssetPaths = " + str);
//        //        }
//    }
//    static void modifyAssets(string str)
//    {
//        var assetImporter = AssetImporter.GetAtPath(str);
//        //        if (str.IndexOf(".exr") > 0 && str.IndexOf("GameResources/map/") >= 0)
//        //        {
//        //            string abpath = str.Replace("Assets/GameResources/map/", "");
//        //            string mapname = abpath.Substring(0, abpath.IndexOf('/'));
//        //            string assetname = str.Substring(str.LastIndexOf('/'));
//        //            assetname = assetname.Substring(0,assetname.LastIndexOf("."));
//        //            assetImporter.assetBundleName = "map/"+mapname+assetname;
//        //        }
//        //        if (str.IndexOf(".unity") > 0 && str.IndexOf("/map/") >= 0)
//        //        {
//        //            string abpath = str.Replace("Assets/GameResources/map/", "");
//        //            string mapname = abpath.Substring(0, abpath.IndexOf('/'));
//        //            assetImporter.assetBundleName = "map/"+mapname+"/"+mapname;
//        //        }
//        if (str.IndexOf(".prefab") > 0 && str.IndexOf("GameResources/ui/") >= 0)
//        {
//            //string abpath = str.Replace("Assets/GameResources/ui/", "");
//            string assetname = str.Substring(str.LastIndexOf('/'));
//            assetname = assetname.Substring(0, assetname.LastIndexOf("."));
//            assetImporter.assetBundleName = "ui" + assetname;
//        }
//        if (str.IndexOf(".prefab") > 0 && str.IndexOf("GameResources/model/pet/") >= 0)
//        {
//            string assetname = str.Substring(str.LastIndexOf('/'));
//            assetname = assetname.Substring(0, assetname.LastIndexOf("."));
//            assetImporter.assetBundleName = "role" + assetname;
//        }
//        if (str.IndexOf(".anim") > 0 && str.IndexOf("GameResources/model/role/animation/r0_skillAni") >= 0)
//        {
//            //string abpath = str.Replace("Assets/GameResources/model/role/animation/r0_skillAni/", "");
//            string assetname = str.Substring(str.LastIndexOf('/'));
//            assetname = assetname.Substring(0, assetname.LastIndexOf("."));
//            assetImporter.assetBundleName = "role/animation" + assetname;
//        }

//        //        foreach (var path in packWithFileNameAbList)
//        //        {
//        //            if (str.StartsWith(path) && !isOtherProcess(path,packWithFloderAbList,str))
//        //            {
//        //                string abpath = str.Replace("Assets/GameAssets/", "");
//        //                int index = abpath.LastIndexOf(".");
//        //                Debug.Assert(index >= 0, string.Format("index must be greater than 0! now index={0}, str={1}, abpath={2}", index, str, abpath));
//        //                abpath = abpath.Remove(index);
//        //                abpath = abpath.ToLower();
//        //                assetImporter.assetBundleName = abpath;
//        //            }
//        //        }
//        //
//        //        foreach (var path in packWithFloderAbList)
//        //        {
//        //
//        //            if (str.StartsWith(path) && !isOtherProcess(path, packWithFileNameAbList, str))
//        //            {
//        //                
//        //                string abpath = str.Replace("Assets/GameAssets/", "");
//        //                int lastIndex = abpath.LastIndexOf("/");
//        //                abpath = abpath.Remove(lastIndex);
//        //                abpath = abpath.ToLower();
//        //                assetImporter.assetBundleName = abpath;
//        //            }
//        //        }
//        //       
//        //        foreach (var path in packWithRootFloderAbList)
//        //        {
//        //            if (str.StartsWith(path))
//        //            {
//        //                string abpath = path.Replace("Assets/GameAssets/", "");
//        //                abpath = abpath.ToLower();
//        //                assetImporter.assetBundleName = abpath;
//        //            }
//        //        }
//        //
//        //        //写在最后
//        //        foreach (var path in subFolderNotToAbList)
//        //        {
//        //            if (str.StartsWith(path))
//        //            {
//        //                string tmp = str.Replace(path + "/", "");
//        //                if(tmp.IndexOf("/") != -1)
//        //                {
//        //                    assetImporter.assetBundleName = null;
//        //                }
//        //            }
//        //        }
//    }
//    //    static bool isOtherProcess(string floderPath,List<string> list,string filePath)
//    //    {
//    //        foreach (var str in list)
//    //        {
//    //            if(str.StartsWith(floderPath))
//    //            {
//    //                if(filePath.StartsWith(str))
//    //                {
//    //                    return true;
//    //                }
//    //            }
//    //        }
//    //        return false;
//    //    }

//    //static bool isSubPathInFileNameAbList(string path)
//    //{
//    //    foreach(var str in packWithFileNameAbList)
//    //    {
//    //        if (path.Contains(str))
//    //        {
//    //            return true;
//    //        }
//    //    }
//    //    return false;
//    //}

//    //static bool isSubPathInFloderAbList(string path)
//    //{
//    //    foreach (var str in packWithFloderAbList)
//    //    {
//    //        if (path.Contains(str))
//    //        {
//    //            return true;
//    //        }
//    //    }
//    //    return false;
//    //}


//    //    void OnPreprocessAudio()
//    //    {
//    //
//    //        var import = (AudioImporter)assetImporter;
//    //
//    //        string path = "Assets/GameAssets/Audio";
//    //
//    //        AudioImporterSampleSettings config = new AudioImporterSampleSettings();
//    //        config.loadType = AudioClipLoadType.DecompressOnLoad;
//    //        config.compressionFormat = AudioCompressionFormat.Vorbis;
//    //        config.quality = 0.8f;
//    //        import.defaultSampleSettings = config;
//    //
//    //        if (assetPath.Contains(path))
//    //        {
//    //            config = new AudioImporterSampleSettings();
//    //            config.loadType = AudioClipLoadType.CompressedInMemory;
//    //            config.compressionFormat = AudioCompressionFormat.Vorbis;
//    //            config.quality = 100;
//    //
//    //            import.SetOverrideSampleSettings("iPhone", config);
//    //        }
//    //    }
//}
